home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / Emperor_ / Emperor / Projects / Tiger / Tiger_class.h next >
Encoding:
C/C++ Source or Header  |  2002-10-28  |  4.1 KB  |  181 lines

  1. /*classe cellule*/
  2. class Cellule
  3. {
  4.     private:
  5.  
  6.         int valeur;                 //valeur de la cellule
  7.         BOOL termite;                //si il y a une termitière
  8.         //int age_termite;
  9.         //int Crayon;                  //rayon d'influence de la termitière
  10.         float pente;                //valeur de la pente
  11.         BOOL influence;              //influence de la termitière sur une cellule éloignée
  12.         float elevation;              //forme de la termitiere
  13.         float altitude;
  14.         BOOL normal;           //s'il y a un changement de signe de la pente
  15.         //int sens;
  16.         //int origine;                //0 pour Idrisi32, 1 pour utilisateur, 2 pour MNA
  17.  
  18.  
  19.     public:
  20.  
  21.         Cellule()                  //constructeur
  22.         {
  23.             valeur=0;
  24.             termite=FALSE;
  25.             //age_termite=0;
  26.             //Crayon=0;
  27.             pente=0.0;
  28.             influence=FALSE;
  29.             normal=TRUE;
  30.             elevation=0.0;
  31.             altitude=200.0;
  32.             //sens=0;
  33.             //origine=0;
  34.         };
  35.  
  36.         ~Cellule() {};                      //destructeur
  37.  
  38.         void set_valeur(int nvaleur)        //changement de la valeur
  39.         {
  40.             valeur=nvaleur;
  41.         };
  42.  
  43.         void set_termite(BOOL ntermite)               //changement de la termitière
  44.         {
  45.             termite=ntermite;
  46.         };
  47.  
  48.         /*void set_age_termite(int nage_termite)
  49.         {
  50.             age_termite=nage_termite;
  51.         };
  52.  
  53.         void set_Crayon(int nrayon)          //changement du rayon
  54.         {
  55.             Crayon=nrayon;
  56.         };*/
  57.  
  58.         void set_pente(float npente)           //changement de la pente
  59.         {
  60.             pente=npente;
  61.         };
  62.  
  63.         void set_influence(BOOL ninfluence)
  64.         {
  65.             influence=ninfluence;
  66.         };
  67.  
  68.         void set_elevation(float nelevation)
  69.         {
  70.             elevation=nelevation;
  71.         };
  72.  
  73.         void set_altitude(int j, int resolution)
  74.         {
  75.             float naltitude=0;
  76.             naltitude=altitude-((pente/resolution)*j)+elevation;
  77.             altitude=naltitude;
  78.         };
  79.  
  80.         void set_altitude(float naltitude)
  81.         {
  82.             /*float naltitude=0;
  83.             naltitude=altitude-((pente/100)*j)+elevation;*/
  84.             altitude=naltitude;
  85.         };
  86.  
  87.         void set_normal(BOOL stuff)
  88.         {
  89.             normal=stuff;
  90.         };
  91.  
  92.         /*void set_sens(int stuff)
  93.         {
  94.             sens=stuff;
  95.         };
  96.  
  97.         void set_origine(int norigine)
  98.         {
  99.             origine=norigine;
  100.         };*/
  101.  
  102.         /*void show_valeur() const         //affichage de la valeur
  103.         {
  104.             cout <<valeur;
  105.         };*/
  106.  
  107.         int retour_valeur() const       //retour de la valeur
  108.         {
  109.             return valeur;
  110.         };
  111.  
  112.         /*int retour_origine() const
  113.         {
  114.             return origine;
  115.         }
  116.  
  117.         int retour_age() const
  118.         {
  119.             return age_termite;
  120.         };*/
  121.  
  122.         float retour_pente() const
  123.         {
  124.             return pente;
  125.         };
  126.  
  127.         float retour_altitude() const
  128.         {
  129.             return altitude;
  130.         };
  131.  
  132.         BOOL retour_termite() const
  133.         {
  134.             return termite;
  135.         };
  136.  
  137.         /*int retour_Crayon() const
  138.         {
  139.             return Crayon;
  140.         };*/
  141.  
  142.         BOOL retour_influence() const
  143.         {
  144.             return influence;
  145.         };
  146.  
  147.         BOOL retour_normal() const
  148.         {
  149.             return normal;
  150.         };
  151.  
  152.         /*int retour_sens() const
  153.         {
  154.             return sens;
  155.         };*/
  156.  
  157.         float retour_elevation() const
  158.         {
  159.             return elevation;
  160.         };
  161. };
  162. /*fin de classe cellule*/
  163.  
  164. /*modèle de classe*/
  165. template <class T> class Tableau
  166. {
  167.     public:
  168.         Tableau(int i, int j, int k)
  169.             :ptr(new T [i*j*k]), imax(i), jmax(j), kmax(k) {}
  170.         ~Tableau() { delete [] ptr; }
  171.         T& operator () (int i, int j, int k)
  172.         {
  173.             //assert(i>=0 && i<imax && j>=0 && j<jmax && k>=0 && k<=kmax);
  174.             return ptr[(((i+imax)%imax)*jmax+(j+jmax)%jmax)*kmax+(k+kmax)%kmax];
  175.         }
  176.     private:
  177.         int imax, jmax, kmax;
  178.         T *ptr;
  179. };
  180. /*fin de modèle*/
  181.